﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HopeBus.Model;

namespace HopeBus.Business
{
    class AdmHorario
    {
        private ModeloDoSistemaContainer repositorioDoSistema;

        private ModeloDoSistemaContainer Repositorio
        {
            get
            {
                if (repositorioDoSistema == null)
                {
                    repositorioDoSistema = new ModeloDoSistemaContainer();
                    return repositorioDoSistema;
                }
                return repositorioDoSistema;
            }
        }

        public bool AdicionarHorario(DateTime horarioNovo, int idViagem)
        {

            Horario horario = new Horario();
            horario.Hora = horarioNovo;
            Viagem viagem = Repositorio.ViagemSet.Find(idViagem);
            viagem.Horario.Add(horario);
            Repositorio.HorarioSet.Add(horario);
            Repositorio.SaveChanges();
            
            return true;
        }

        public bool RemoverHorario(int id)
        {
            Horario horario = Repositorio.HorarioSet.Find(id);
            Viagem viagem = horario.Viagem;
            viagem.Horario.Remove(horario);
            Repositorio.HorarioSet.Remove(horario);
            
            Repositorio.SaveChanges();
            return true;
        }

        public List<Horario> ListarHorariosCidade(int idViagem)
        {

            return Repositorio.HorarioSet.Where(viagem => viagem.Viagem.Equals(idViagem)).Select(viagem => viagem).ToList();
        }
    }
}
